<?php

   require_once('db.php');

   //PerfilTable
   function perfiltable_fetchAll() {
      return select("SELECT * FROM perfiles");
   }
   function getPerfil($id) {
      return select("SELECT * FROM perfiles WHERE id = $id");
   }
   function insertPerfil($id, $nombre_perfil, $descripcion) {
      execute_statement("INSERT INTO perfiles VALUES(default,'$nombre_perfil','$descripcion')");
   }
   function updatePerfil($id, $nombre_perfil, $descripcion) {
      execute_statement("UPDATE perfiles SET nombre_perfil = '$nombre_perfil', descripcion = '$descripcion' WHERE id = $id");
   }
   function deletePerfil($id) {
      execute_statement("DELETE FROM perfiles WHERE id = $id");
   }
   function getPerfilesByUsuario($id) {
      return select("SELECT P.id, P.nombre_perfil, P.descripcion, usuario_perfil.id AS id_usuario_perfil FROM perfiles P LEFT JOIN usuario_perfil ON P.id = usuario_perfil.id_perfil AND usuario_perfil.id_usuario = $id ORDER BY P.id ASC;");
   }

   //PermisoTable
   function permisotable_fetchAll() {
      return select("SELECT * FROM permisos");
   }
   function getPermiso($id) {
      return select("SELECT * FROM permisos WHERE id = $id");
   }
   function insertPermiso($id, $modulo, $accion) {
      execute_statement("INSERT INTO permisos VALUES(default,'$modulo','$accion')");
   }
   function updatePermiso($id, $modulo, $accion) {
      execute_statement("UPDATE permisos SET modulo = '$modulo', accion = '$accion' WHERE id = $id");
   }
   function deletePermiso($id) {
      execute_statement("DELETE FROM permisos WHERE id = $id");
   }
   function getPermisosByPerfil($id) {
      return select("SELECT P.id, P.modulo, P.accion, perfil_permiso.id AS id_perfil_permiso FROM permisos P LEFT JOIN perfil_permiso ON P.id = perfil_permiso.id_permiso AND perfil_permiso.id_perfil = $id ORDER BY P.id ASC");
   }

   //PerfilXPermisoTable
   function perfilxpermisotable_fetchAll() {
      return select("SELECT * FROM perfil_permiso");
   }
   function getPerfilXPermiso($id) {
      return select("SELECT * FROM perfil_permiso WHERE id = $id");
   }
   function insertPerfilXPermiso($id, $id_perfil, $id_permiso) {
      execute_statement("INSERT INTO perfil_permiso VALUES(default,$id_perfil,$id_permiso)");
   }
   function updatePerfilXPermiso($id, $id_perfil, $id_permiso) {
      execute_statement("UPDATE perfil_permiso SET id_perfil = $id_perfil, id_permiso = $id_permiso WHERE id = $id");
   }
   function deletePerfilXPermiso($id) {
      execute_statement("DELETE FROM perfil_permiso WHERE id = $id");
   }

   //UsuarioXPerfilTable
   function usuarioxperfiltable_fetchAll() {
      return select("SELECT * FROM usuario_perfil");
   }
   function getUsuarioXPerfil($id) {
      return select("SELECT * FROM usuario_perfil WHERE id = $id");
   }
   function insertUsuarioXPerfil($id, $id_usuario, $id_perfil) {
      execute_statement("INSERT INTO usuario_perfil VALUES(default,$id_usuario,$id_perfil)");
   }
   function updateUsuarioXPerfil($id, $id_usuario, $id_perfil) {
      execute_statement("UPDATE usuario_perfil SET id_usuario = $id_usuario, id_perfil = $id_perfil WHERE id = $id");
   }
   function deleteUsuarioXPerfil($id) {
      execute_statement("DELETE FROM usuario_perfil WHERE id = $id");
   }


?>
